package com.dingding.order.core.cancel.dao;

import java.util.List;

import com.dingding.common.core.base.dao.IBaseDao;
import com.dingding.common.core.beans.UserTaxiOrdert;
import com.dingding.order.dto.cancel.PushAutoCancelTaxiOrderDTO;
import com.dingding.order.dto.cancel.PushTaxiCancelOrderDTO;

/**
 * 
 * @ClassName: ITaxiCancelOrderTDao 
 * @Description: 出租车取消订单DAO接口
 * @author YHQ
 * @date 2016年7月4日 上午11:30:25
 * @version V2.3.0
 */
public interface ITaxiCancelOrderTDao extends IBaseDao<UserTaxiOrdert> {


	/** 
	 * 
	 * @Title: getUserOrder 
	 * @Description: 获取用户订单信息
	 * @param orderId  订单Id
	 * @author chenwei
	 * @version V2.3.0
	 * @return Userordert
	 * 
	 */
	public UserTaxiOrdert getUserOrder(String orderId);
	
	/**
	 * 
	 * @Title: deleteUserTaxiOrder 
	 * @Description: 删除出租车订单信息
	 * @author YHQ 
	 * @version V2.3.0
	 * @return boolean    返回类型
	 * 
	 */
	public boolean deleteUserTaxiOrder(UserTaxiOrdert taxiOrdert);
	
	/**
	 * 
	 * @Title: getPushTaxiCancelOrderInfo 
	 * @Description: 出租车取消订单-获取给司机发送短信和推送的消息
	 * @param cancelUserId 取消用户Id
	 * @param pushUserId 推送Id
	 * @return PushTaxiCancelOrderDTO    返回类型 
	 * 
	 */
	public PushTaxiCancelOrderDTO getPushTaxiCancelOrderInfo(String cancelUserId, String pushUserId,Integer cancelType);
	
	/**
	 * 
	 * @Title: geTaxiOrderts 
	 * @Description: 获取自动取消出租车订单列表 
	 * @author YHQ 
	 * @version V2.3.0
	 * @return List<UserTaxiOrdert>    返回类型
	 * 
	 */
	public List<UserTaxiOrdert> geTaxiOrderts();
	
	/**
	 * 
	 * @Title: getPushCancelTaxiOrderInfo 
	 * @Description: 出租车订单自动取消推送消息 
	 * @param userId 用户Id
	 * @author YHQ 
	 * @version V2.3.0
	 * @return PushAutoCancelTaxiOrderDTO    返回类型
	 * 
	 */
	public PushAutoCancelTaxiOrderDTO getPushCancelTaxiOrderInfo(String userId);
	
}
